package com.felix.sample.websocket;

import java.util.List;

/**
 * Created by Felix.Zhong on 2018/10/12 12:06
 * 最新成交及盘口数据模型
 */
public class LatestDealsAndOutlets {

    /**
     * version : 1
     * _id : 1539311837
     * idCur : 1539311837
     * idPrev : 0
     * msgType : marketDetail0
     * symbolId : EOS_ETH
     * payload : {"symbolId":"btccny","priceNew":"0.02350680","priceOpen":0.02656375,"priceHigh":0.027323,"priceLow":0.02300054,"priceLast":0.0235068,"level":0.0235068,"amount":null,"totalAmount":432.83035906,"amount24h":1402.11542719,"quantity24h":55807,"firstPrice":0.02352856,"amp":null,"yestdayPriceLast":0.02453098,"commissionRatio":0,"poor":0,"updownVolume":0,"updownRatio":0,"priceAverage":0,"volumeRatio":0,"turnVolume":0,"turnoverRate":0,"outerDisc":0,"innerDisc":0,"totalVolume":4960774,"trades":{"price":["0.02350680","0.02401292","0.02527056","0.02370444","0.02644111","0.02337223","0.02486320","0.02459433","0.02585184","0.02710948","0.02427392","0.02625920","0.02538912","0.02527450","0.02601394","0.02512026","0.02482358","0.02507278","0.02705807","0.02624333","0.02330508","0.02588344","0.02354234","0.02379154","0.02655181","0.02576488","0.02476824","0.02369658","0.02314298","0.02623940","0.02366497","0.02515580","0.02597447","0.02589931","0.02638184","0.02566992","0.02459827","0.02533771","0.02431746","0.02355414","0.02559084","0.02490674","0.02541286","0.02434120","0.02640150","0.02470502","0.02319032","0.02626314","0.02467342","0.02720036","0.02358982","0.02305982","0.02400505","0.02549588","0.02566206","0.02471682","0.02302035","0.02479591","0.02406040","0.02731513","0.02603375","0.02576488","0.02598627","0.02335649","0.02513206","0.02556317","0.02374012","0.02574901","0.02604962","0.02396544","0.02514400","0.02546821","0.02695917","0.02337223","0.02639364","0.02444009","0.02362536","0.02731513","0.02678513","0.02532198","0.02427392","0.02462594","0.02691956","0.02356608","0.02303608","0.02473663","0.02324974","0.02601001","0.02561065","0.02305982","0.02693543","0.02407627","0.02717269","0.02413162","0.02336829","0.02524682","0.02316264","0.02561458","0.02454292","0.02655181"],"amount":[89,32,81,61,99,23,61,82,6,54,63,25,96,55,83,22,68,80,43,98,19,20,78,90,70,5,82,17,37,29,97,11,24,42,44,27,56,84,30,97,71,28,66,96,11,53,44,95,38,29,20,77,84,92,78,71,18,28,69,98,79,5,43,30,40,30,79,78,6,91,87,52,90,23,62,48,9,98,60,92,63,97,97,49,11,68,33,14,67,77,24,91,83,77,49,15,99,41,71,70],"direction":[1,1,1,2,2,1,1,1,1,1,2,1,2,1,2,1,2,1,1,1,1,2,2,1,2,1,2,2,1,2,1,1,2,2,2,1,1,1,2,2,2,1,1,1,1,1,1,1,2,2,1,2,2,1,2,1,2,2,2,2,1,1,2,2,2,2,2,1,1,1,1,1,2,1,2,1,2,2,1,2,2,1,2,2,1,1,1,2,1,2,2,1,2,1,2,1,1,1,2,2],"time":[1539311806,1539311732,1539311674,1539311577,1539311477,1539311431,1539311350,1539311294,1539311214,1539311150,1539311088,1539311031,1539310955,1539310878,1539310809,1539310760,1539310709,1539310650,1539310595,1539310494,1539310456,1539310421,1539310391,1539310352,1539310274,1539310177,1539310075,1539310017,1539309966,1539309885,1539309861,1539309838,1539309763,1539309692,1539309640,1539309603,1539309529,1539309463,1539309431,1539309341,1539309248,1539309196,1539309126,1539309099,1539309029,1539308996,1539308913,1539308837,1539308757,1539308691,1539308591,1539308541,1539308506,1539308472,1539308394,1539308301,1539308246,1539308209,1539308145,1539308043,1539308000,1539307903,1539307849,1539307802,1539307774,1539307695,1539307666,1539307604,1539307525,1539307439,1539307396,1539307296,1539307242,1539307196,1539307166,1539307139,1539307066,1539306965,1539306913,1539306846,1539306783,1539306694,1539306669,1539306644,1539306589,1539306522,1539306433,1539306385,1539306316,1539306266,1539306207,1539306106,1539306054,1539306005,1539305978,1539305916,1539305847,1539305759,1539305713,1539305635]},"bids":{"price":["0.02300000","0.02200000","0.02000000","0.01990000","0.01900000","0.01888000","0.01800000","0.01756200","0.01737500","0.01665000","0.01635000","0.01589000","0.01572000","0.01569000","0.01546000","0.01500000","0.01217480"],"amount":[261.4563,33.4706,30,50,2.5,19.8,20,36,21.65,17,11,24.5,28.6,33.2,34.7,222.3902,3],"level":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]},"asks":{"price":["0.02732640","0.02757480","0.02800000","0.02862000","0.02915810","0.02915900","0.02916848","0.02917958","0.02918181","0.02919778","0.02931500","0.02941800","0.02989648","0.03000548","0.03000648","0.03001649","0.03008964","0.08900000"],"amount":[6.34,1.67548,3490.4894,6.5641,1.25694,1.0064,2.151,1.064,1.1215,1.0068,1.035,1.3654,1.1548,3.2151,1.0005648,1.00484,1.481,23],"level":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]},"usdt":191.30896321,"cny":1318.27}
     */

    private int version;
    private int _id;
    private int idCur;
    private int idPrev;
    private String msgType;
    private String symbolId;
    private PayloadBean payload;

    @Override
    public String toString() {
        return "LatestDealsAndOutlets{" +
                "version=" + version +
                ", _id=" + _id +
                ", idCur=" + idCur +
                ", idPrev=" + idPrev +
                ", msgType='" + msgType + '\'' +
                ", symbolId='" + symbolId + '\'' +
                ", payload=" + payload +
                '}';
    }

    public int getVersion() {
        return version;
    }

    public void setVersion(int version) {
        this.version = version;
    }

    public int get_id() {
        return _id;
    }

    public void set_id(int _id) {
        this._id = _id;
    }

    public int getIdCur() {
        return idCur;
    }

    public void setIdCur(int idCur) {
        this.idCur = idCur;
    }

    public int getIdPrev() {
        return idPrev;
    }

    public void setIdPrev(int idPrev) {
        this.idPrev = idPrev;
    }

    public String getMsgType() {
        return msgType;
    }

    public void setMsgType(String msgType) {
        this.msgType = msgType;
    }

    public String getSymbolId() {
        return symbolId;
    }

    public void setSymbolId(String symbolId) {
        this.symbolId = symbolId;
    }

    public PayloadBean getPayload() {
        return payload;
    }

    public void setPayload(PayloadBean payload) {
        this.payload = payload;
    }

    public static class PayloadBean {
        /**
         * symbolId : btccny
         * priceNew : 0.02350680
         * priceOpen : 0.02656375
         * priceHigh : 0.027323
         * priceLow : 0.02300054
         * priceLast : 0.0235068
         * level : 0.0235068
         * amount : null
         * totalAmount : 432.83035906
         * amount24h : 1402.11542719
         * quantity24h : 55807
         * firstPrice : 0.02352856
         * amp : null
         * yestdayPriceLast : 0.02453098
         * commissionRatio : 0
         * poor : 0
         * updownVolume : 0
         * updownRatio : 0
         * priceAverage : 0
         * volumeRatio : 0
         * turnVolume : 0
         * turnoverRate : 0
         * outerDisc : 0
         * innerDisc : 0
         * totalVolume : 4960774
         * trades : {"price":["0.02350680","0.02401292","0.02527056","0.02370444","0.02644111","0.02337223","0.02486320","0.02459433","0.02585184","0.02710948","0.02427392","0.02625920","0.02538912","0.02527450","0.02601394","0.02512026","0.02482358","0.02507278","0.02705807","0.02624333","0.02330508","0.02588344","0.02354234","0.02379154","0.02655181","0.02576488","0.02476824","0.02369658","0.02314298","0.02623940","0.02366497","0.02515580","0.02597447","0.02589931","0.02638184","0.02566992","0.02459827","0.02533771","0.02431746","0.02355414","0.02559084","0.02490674","0.02541286","0.02434120","0.02640150","0.02470502","0.02319032","0.02626314","0.02467342","0.02720036","0.02358982","0.02305982","0.02400505","0.02549588","0.02566206","0.02471682","0.02302035","0.02479591","0.02406040","0.02731513","0.02603375","0.02576488","0.02598627","0.02335649","0.02513206","0.02556317","0.02374012","0.02574901","0.02604962","0.02396544","0.02514400","0.02546821","0.02695917","0.02337223","0.02639364","0.02444009","0.02362536","0.02731513","0.02678513","0.02532198","0.02427392","0.02462594","0.02691956","0.02356608","0.02303608","0.02473663","0.02324974","0.02601001","0.02561065","0.02305982","0.02693543","0.02407627","0.02717269","0.02413162","0.02336829","0.02524682","0.02316264","0.02561458","0.02454292","0.02655181"],"amount":[89,32,81,61,99,23,61,82,6,54,63,25,96,55,83,22,68,80,43,98,19,20,78,90,70,5,82,17,37,29,97,11,24,42,44,27,56,84,30,97,71,28,66,96,11,53,44,95,38,29,20,77,84,92,78,71,18,28,69,98,79,5,43,30,40,30,79,78,6,91,87,52,90,23,62,48,9,98,60,92,63,97,97,49,11,68,33,14,67,77,24,91,83,77,49,15,99,41,71,70],"direction":[1,1,1,2,2,1,1,1,1,1,2,1,2,1,2,1,2,1,1,1,1,2,2,1,2,1,2,2,1,2,1,1,2,2,2,1,1,1,2,2,2,1,1,1,1,1,1,1,2,2,1,2,2,1,2,1,2,2,2,2,1,1,2,2,2,2,2,1,1,1,1,1,2,1,2,1,2,2,1,2,2,1,2,2,1,1,1,2,1,2,2,1,2,1,2,1,1,1,2,2],"time":[1539311806,1539311732,1539311674,1539311577,1539311477,1539311431,1539311350,1539311294,1539311214,1539311150,1539311088,1539311031,1539310955,1539310878,1539310809,1539310760,1539310709,1539310650,1539310595,1539310494,1539310456,1539310421,1539310391,1539310352,1539310274,1539310177,1539310075,1539310017,1539309966,1539309885,1539309861,1539309838,1539309763,1539309692,1539309640,1539309603,1539309529,1539309463,1539309431,1539309341,1539309248,1539309196,1539309126,1539309099,1539309029,1539308996,1539308913,1539308837,1539308757,1539308691,1539308591,1539308541,1539308506,1539308472,1539308394,1539308301,1539308246,1539308209,1539308145,1539308043,1539308000,1539307903,1539307849,1539307802,1539307774,1539307695,1539307666,1539307604,1539307525,1539307439,1539307396,1539307296,1539307242,1539307196,1539307166,1539307139,1539307066,1539306965,1539306913,1539306846,1539306783,1539306694,1539306669,1539306644,1539306589,1539306522,1539306433,1539306385,1539306316,1539306266,1539306207,1539306106,1539306054,1539306005,1539305978,1539305916,1539305847,1539305759,1539305713,1539305635]}
         * bids : {"price":["0.02300000","0.02200000","0.02000000","0.01990000","0.01900000","0.01888000","0.01800000","0.01756200","0.01737500","0.01665000","0.01635000","0.01589000","0.01572000","0.01569000","0.01546000","0.01500000","0.01217480"],"amount":[261.4563,33.4706,30,50,2.5,19.8,20,36,21.65,17,11,24.5,28.6,33.2,34.7,222.3902,3],"level":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]}
         * asks : {"price":["0.02732640","0.02757480","0.02800000","0.02862000","0.02915810","0.02915900","0.02916848","0.02917958","0.02918181","0.02919778","0.02931500","0.02941800","0.02989648","0.03000548","0.03000648","0.03001649","0.03008964","0.08900000"],"amount":[6.34,1.67548,3490.4894,6.5641,1.25694,1.0064,2.151,1.064,1.1215,1.0068,1.035,1.3654,1.1548,3.2151,1.0005648,1.00484,1.481,23],"level":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]}
         * usdt : 191.30896321
         * cny : 1318.27
         */

        private String symbolId;
        private String priceNew;
        private double priceOpen;
        private double priceHigh;
        private double priceLow;
        private double priceLast;
        private double level;
        private Object amount;
        private double totalAmount;
        private double amount24h;
        private double quantity24h;
        private double firstPrice;
        private Object amp;
        private double yestdayPriceLast;
        private int commissionRatio;
        private int poor;
        private int updownVolume;
        private int updownRatio;
        private int priceAverage;
        private int volumeRatio;
        private int turnVolume;
        private int turnoverRate;
        private int outerDisc;
        private int innerDisc;
        private int totalVolume;
        private TradesBean trades;
        private BidsBean bids;
        private AsksBean asks;
        private double usdt;
        private double cny;

        @Override
        public String toString() {
            return "PayloadBean{" +
                    "symbolId='" + symbolId + '\'' +
                    ", priceNew='" + priceNew + '\'' +
                    ", priceOpen=" + priceOpen +
                    ", priceHigh=" + priceHigh +
                    ", priceLow=" + priceLow +
                    ", priceLast=" + priceLast +
                    ", level=" + level +
                    ", amount=" + amount +
                    ", totalAmount=" + totalAmount +
                    ", amount24h=" + amount24h +
                    ", quantity24h=" + quantity24h +
                    ", firstPrice=" + firstPrice +
                    ", amp=" + amp +
                    ", yestdayPriceLast=" + yestdayPriceLast +
                    ", commissionRatio=" + commissionRatio +
                    ", poor=" + poor +
                    ", updownVolume=" + updownVolume +
                    ", updownRatio=" + updownRatio +
                    ", priceAverage=" + priceAverage +
                    ", volumeRatio=" + volumeRatio +
                    ", turnVolume=" + turnVolume +
                    ", turnoverRate=" + turnoverRate +
                    ", outerDisc=" + outerDisc +
                    ", innerDisc=" + innerDisc +
                    ", totalVolume=" + totalVolume +
                    ", trades=" + trades +
                    ", bids=" + bids +
                    ", asks=" + asks +
                    ", usdt=" + usdt +
                    ", cny=" + cny +
                    '}';
        }

        public String getSymbolId() {
            return symbolId;
        }

        public void setSymbolId(String symbolId) {
            this.symbolId = symbolId;
        }

        public String getPriceNew() {
            return priceNew;
        }

        public void setPriceNew(String priceNew) {
            this.priceNew = priceNew;
        }

        public double getPriceOpen() {
            return priceOpen;
        }

        public void setPriceOpen(double priceOpen) {
            this.priceOpen = priceOpen;
        }

        public double getPriceHigh() {
            return priceHigh;
        }

        public void setPriceHigh(double priceHigh) {
            this.priceHigh = priceHigh;
        }

        public double getPriceLow() {
            return priceLow;
        }

        public void setPriceLow(double priceLow) {
            this.priceLow = priceLow;
        }

        public double getPriceLast() {
            return priceLast;
        }

        public void setPriceLast(double priceLast) {
            this.priceLast = priceLast;
        }

        public double getLevel() {
            return level;
        }

        public void setLevel(double level) {
            this.level = level;
        }

        public Object getAmount() {
            return amount;
        }

        public void setAmount(Object amount) {
            this.amount = amount;
        }

        public double getTotalAmount() {
            return totalAmount;
        }

        public void setTotalAmount(double totalAmount) {
            this.totalAmount = totalAmount;
        }

        public double getAmount24h() {
            return amount24h;
        }

        public void setAmount24h(double amount24h) {
            this.amount24h = amount24h;
        }

        public double getQuantity24h() {
            return quantity24h;
        }

        public void setQuantity24h(double quantity24h) {
            this.quantity24h = quantity24h;
        }

        public double getFirstPrice() {
            return firstPrice;
        }

        public void setFirstPrice(double firstPrice) {
            this.firstPrice = firstPrice;
        }

        public Object getAmp() {
            return amp;
        }

        public void setAmp(Object amp) {
            this.amp = amp;
        }

        public double getYestdayPriceLast() {
            return yestdayPriceLast;
        }

        public void setYestdayPriceLast(double yestdayPriceLast) {
            this.yestdayPriceLast = yestdayPriceLast;
        }

        public int getCommissionRatio() {
            return commissionRatio;
        }

        public void setCommissionRatio(int commissionRatio) {
            this.commissionRatio = commissionRatio;
        }

        public int getPoor() {
            return poor;
        }

        public void setPoor(int poor) {
            this.poor = poor;
        }

        public int getUpdownVolume() {
            return updownVolume;
        }

        public void setUpdownVolume(int updownVolume) {
            this.updownVolume = updownVolume;
        }

        public int getUpdownRatio() {
            return updownRatio;
        }

        public void setUpdownRatio(int updownRatio) {
            this.updownRatio = updownRatio;
        }

        public int getPriceAverage() {
            return priceAverage;
        }

        public void setPriceAverage(int priceAverage) {
            this.priceAverage = priceAverage;
        }

        public int getVolumeRatio() {
            return volumeRatio;
        }

        public void setVolumeRatio(int volumeRatio) {
            this.volumeRatio = volumeRatio;
        }

        public int getTurnVolume() {
            return turnVolume;
        }

        public void setTurnVolume(int turnVolume) {
            this.turnVolume = turnVolume;
        }

        public int getTurnoverRate() {
            return turnoverRate;
        }

        public void setTurnoverRate(int turnoverRate) {
            this.turnoverRate = turnoverRate;
        }

        public int getOuterDisc() {
            return outerDisc;
        }

        public void setOuterDisc(int outerDisc) {
            this.outerDisc = outerDisc;
        }

        public int getInnerDisc() {
            return innerDisc;
        }

        public void setInnerDisc(int innerDisc) {
            this.innerDisc = innerDisc;
        }

        public int getTotalVolume() {
            return totalVolume;
        }

        public void setTotalVolume(int totalVolume) {
            this.totalVolume = totalVolume;
        }

        public TradesBean getTrades() {
            return trades;
        }

        public void setTrades(TradesBean trades) {
            this.trades = trades;
        }

        public BidsBean getBids() {
            return bids;
        }

        public void setBids(BidsBean bids) {
            this.bids = bids;
        }

        public AsksBean getAsks() {
            return asks;
        }

        public void setAsks(AsksBean asks) {
            this.asks = asks;
        }

        public double getUsdt() {
            return usdt;
        }

        public void setUsdt(double usdt) {
            this.usdt = usdt;
        }

        public double getCny() {
            return cny;
        }

        public void setCny(double cny) {
            this.cny = cny;
        }

        public static class TradesBean {
            private List<String> price;
            private List<Double> amount;
            private List<Integer> direction;
            private List<Integer> time;

            @Override
            public String toString() {
                return "TradesBean{" +
                        "price=" + price +
                        ", amount=" + amount +
                        ", direction=" + direction +
                        ", time=" + time +
                        '}';
            }

            public List<String> getPrice() {
                return price;
            }

            public void setPrice(List<String> price) {
                this.price = price;
            }

            public List<Double> getAmount() {
                return amount;
            }

            public void setAmount(List<Double> amount) {
                this.amount = amount;
            }

            public List<Integer> getDirection() {
                return direction;
            }

            public void setDirection(List<Integer> direction) {
                this.direction = direction;
            }

            public List<Integer> getTime() {
                return time;
            }

            public void setTime(List<Integer> time) {
                this.time = time;
            }
        }

        public static class BidsBean {
            private List<String> price;
            private List<Double> amount;
            private List<Integer> level;

            @Override
            public String toString() {
                return "BidsBean{" +
                        "price=" + price +
                        ", amount=" + amount +
                        ", level=" + level +
                        '}';
            }

            public List<String> getPrice() {
                return price;
            }

            public void setPrice(List<String> price) {
                this.price = price;
            }

            public List<Double> getAmount() {
                return amount;
            }

            public void setAmount(List<Double> amount) {
                this.amount = amount;
            }

            public List<Integer> getLevel() {
                return level;
            }

            public void setLevel(List<Integer> level) {
                this.level = level;
            }
        }

        public static class AsksBean {
            private List<String> price;
            private List<Double> amount;
            private List<Integer> level;

            @Override
            public String toString() {
                return "AsksBean{" +
                        "price=" + price +
                        ", amount=" + amount +
                        ", level=" + level +
                        '}';
            }

            public List<String> getPrice() {
                return price;
            }

            public void setPrice(List<String> price) {
                this.price = price;
            }

            public List<Double> getAmount() {
                return amount;
            }

            public void setAmount(List<Double> amount) {
                this.amount = amount;
            }

            public List<Integer> getLevel() {
                return level;
            }

            public void setLevel(List<Integer> level) {
                this.level = level;
            }
        }
    }
}
